/*
 * @lc app=leetcode.cn id=646 lang=golang
 *
 * [646] 最长数对链
 */

// @lc code=start

func findLongestChain(pairs [][]int) int {
	n:=len(pairs)
	sort.Slice(pairs,func(i,j int)bool{
		return pairs[i][0] < pairs[j][0]
	})
	dp := make([]int,n)
	for i:=0;i<n;i++{
		dp[i] = 1
	}
	m := 1
	for i:=1;i<n;i++{
		for j:=0;j<i;j++{
			if pairs[i][0] > pairs[j][1]{
				dp[i] = max(dp[i],dp[j]+1)
			}
		}
		m = max(m,dp[i])
	}
	return m

}

func max(i,j int)int{
	if i>j{
		return i 
	}
	return j
}
// @lc code=end

